package com.ssy.lingxi.after.sale.api.feign;

import com.ssy.lingxi.after.sale.api.model.vo.request.*;
import com.ssy.lingxi.common.response.Wrapper;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.validation.Valid;

/**
 * 售后换货内部接口
 * @author 伍将
 * @date 2020/12/22
 * @version 2.0.0
 */
@FeignClient(name = "after-sale-service")
public interface ReplaceGoodsControllerFeign {

    /**
     * 售后换货-新增退货发货单
     * @author 伍将
     * @date 2020/9/17
     **/
    @RequestMapping("/as/feign/replaceGoods/addReturnDeliveryGoods")
    Wrapper<Long> addReturnDeliveryGoods(@RequestBody @Valid ReplaceAddDeliveryGoodsVO addVO);

    /**
     * 售后换货-删除退货发货单
     * @author 伍将
     * @date 2020/9/29
     **/
    @RequestMapping("/as/feign/replaceGoods/deleteReturnDeliveryGoods")
    Wrapper deleteReturnDeliveryGoods(@RequestBody @Valid CommonIdVO commonIdVO);

    /**
     * 售后换货-审核退货发货单
     * @author 伍将
     * @date 2020/12/22
     **/
    @RequestMapping("/as/feign/replaceGoods/verifyReturnDeliveryGoods")
    Wrapper verifyReturnDeliveryGoods(@RequestBody @Valid VerifyDeliveryVO verifyVO);

    /**
     * 售后换货-新增退货入库单
     * @author 伍将
     * @date 2020/9/18
     **/
    @RequestMapping("/as/feign/replaceGoods/addReturnGoodsStorage")
    Wrapper addReturnGoodsStorage(@RequestBody @Valid ReplaceAddStorageVO addVO);

    /**
     * 售后换货-删除退货入库单
     * @author 伍将
     * @date 2020/12/22
     **/
    @RequestMapping("/as/feign/replaceGoods/deleteReturnGoodsStorage")
    Wrapper deleteReturnGoodsStorage(@RequestBody CommonIdVO commonIdVO);

    /**
     * 售后换货-审核退货入库单
     * @author 伍将
     * @date 2020/12/22
     **/
    @RequestMapping("/as/feign/replaceGoods/verifyReturnGoodsStorage")
    Wrapper verifyReturnGoodsStorage(@RequestBody @Valid VerifyDeliveryVO verifyVO);

    /**
     * 售后换货-新增换货发货单
     * @author 伍将
     * @date 2020/9/17
     **/
    @RequestMapping("/as/feign/replaceGoods/addReplaceDeliveryGoods")
    Wrapper<Long> addReplaceDeliveryGoods(@RequestBody @Valid ReplaceAddDeliveryGoodsVO addVO);

    /**
     * 售后换货-删除换货发货单
     * @author 伍将
     * @date 2020/9/29
     **/
    @RequestMapping("/as/feign/replaceGoods/deleteReplaceDeliveryGoods")
    Wrapper deleteReplaceDeliveryGoods(@RequestBody @Valid CommonIdVO commonIdVO);

    /**
     * 售后换货-审核换货发货单
     * @author 伍将
     * @date 2020/12/22
     **/
    @RequestMapping("/as/feign/replaceGoods/deleteReplaceDeliveryGoods")
    Wrapper verifyReplaceDeliveryGoods(@RequestBody @Valid VerifyDeliveryVO verifyVO);

    /**
     * 售后换货-新增换货入库单
     * @author 伍将
     * @date 2020/9/18
     **/
    @RequestMapping("/as/feign/replaceGoods/addReplaceGoodsStorage")
    Wrapper addReplaceGoodsStorage(@RequestBody @Valid ReplaceAddStorageVO addVO);

    /**
     * 售后换货-删除换货入库单
     * @author 伍将
     * @date 2020/9/29
     **/
    @RequestMapping("/as/feign/replaceGoods/deleteReplaceGoodsStorage")
    Wrapper deleteReplaceGoodsStorage(@RequestBody @Valid CommonIdVO commonIdVO);

    /**
     * 售后换货-审核换货入库单
     * @author 伍将
     * @date 2020/12/22
     **/
    @RequestMapping("/as/feign/replaceGoods/verifyReplaceGoodsStorage")
    Wrapper verifyReplaceGoodsStorage(@RequestBody @Valid VerifyDeliveryVO verifyVO);

    /**
     * 售后换货-新增退货物流(换货-退货发货)
     * @author 伍将
     * @date 2020/9/18
     **/
    @RequestMapping("/as/feign/replaceGoods/addReturnLogistics")
    Wrapper addReturnLogistics(@RequestBody @Valid AddLogisticsVO addVO);

    /**
     * 售后换货-审核退货物流单(换货-退货发货)
     * @author 伍将
     * @date 2020/9/18
     **/
    @RequestMapping("/as/feign/replaceGoods/verifyReturnLogistics")
    Wrapper verifyReturnLogistics(@RequestBody @Valid VerifyLogisticsVO verifyVO);

    /**
     * 售后换货-新增换货物流(换货-换货发货)
     * @author 伍将
     * @date 2020/9/18
     **/
    @RequestMapping("/as/feign/replaceGoods/addReplaceLogistics")
    Wrapper addReplaceLogistics(@RequestBody @Valid AddLogisticsVO addVO);

    /**
     * 售后换货-审核换货物流单(换货-换货发货)
     * @author 伍将
     * @date 2020/9/18
     **/
    @RequestMapping("/as/feign/replaceGoods/verifyReplaceLogistics")
    Wrapper verifyReplaceLogistics(@RequestBody @Valid VerifyLogisticsVO verifyVO);
}
